#pragma once

class IEvent
{
public:
	virtual ~IEvent() {};

	virtual void onConnected(const char* msg) = 0;
	virtual void onDisconnected(const char* msg) = 0;
	virtual void onChat(const char* user, const char* msg) = 0;
	virtual void onEnter(const char* msg) = 0;
	virtual void onLeave(const char* msg) = 0;

// 	virtual void onDisconnection() = 0;
// 	virtual void onConnected() = 0;
// 	virtual void onNewIncomingConnection() = 0;
// 	virtual void onIncompatibleProtocolVersion() = 0;
// 
// 	virtual void onRemoteDisconnectionNotifycation() = 0;
// 	virtual void onRemoteConnectionLost() = 0;
// 	virtual void onRemoteNewIncomingConnection() = 0;
// 
// 	virtual void onConnectionBanned() = 0;
// 	virtual void onConnectionAttemptFailed() = 0;
// 	virtual void onNoFreeIncomingConnections() = 0;
// 	virtual void onInvalidPassword() = 0;
// 	virtual void onConnectionLost() = 0;
// 	virtual void onConnectionRequestAccepted() = 0;
// 	virtual void onConnectedPing() = 0;
// 	virtual void onUnConnectedPing() = 0;
// 
// 	virtual void onFreeEvent() = 0;
};